﻿// Genealogical tree POJ - 2367  训练营.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://vjudge.net/problem/POJ-2367

火星人的血缘关系系统已经够混乱的了。事实上，火星人随时随地都在萌芽。
他们以不同的群体聚集在一起，因此一个火星人可以有一个父母，也可以有十个父母。
没有人会对一百个孩子感到惊讶。火星人已经习惯了这样的生活，他们的生活方式在他们看来是自然而然的。
而在行星委员会中，混乱的家谱系统会导致一些尴尬。在这里，最有价值的火星人在一起，
因此，为了在所有讨论中不冒犯任何人，人们习惯于先让年长的火星人发言，然后再让年轻的火星人发言，最后才让最年轻的无子女评审员发言。
然而，维持这种秩序确实不是一件小事。并不是每个火星人都知道自己的父母（他的祖父母也没什么可说的！）。
但是，如果因为一个错误而先说了孙子，然后才说他年轻时出现的曾祖父，这就真的是一桩丑闻了。
你的任务是编写一个程序，一劳永逸地确定一个顺序，保证理事会的每个成员都比他的每个后代先发言。
输入
标准输入的第一行只包含一个数字 N，1 <= N <= 100 - 火星行星委员会成员的人数。根据几百年来的传统，理事会成员用从 1 到 N 的自然数枚举。
此外，正好有 N 行，而且第 I 行包含第 I 个成员的子女列表。子代列表是子代序号的序列，以任意顺序排列，中间用空格隔开。
子代列表可以是空的。列表（即使为空）以 0 结尾。
输出
标准输出的唯一一行应包含以空格分隔的发言人编号序列。
如果有多个序列满足问题的条件，您可以将其中任意一个写入标准输出。
至少总有一个这样的序列存在。

5
0
4 5 1 0
1 0
5 3 0
3 0

2 4 5 3 1

*/
int main()
{
    std::cout << "Hello World!\n";
}

 